1. Technical Field
The present invention relates generally to navigation of structured content on a data processing or communication device, and in particular to navigation through the movement of element focus in response to user input.
2. Description of the Related Art
Documents, such as web pages or structured documents having content encoded with structural information, may be viewable on a data processing or communication device using applications such as web browsers or other content viewing applications. When the displayable area of the content extends beyond the limits of the viewable region on the communication device display, the user may scroll through the content from top to bottom or from bottom to top using a user input interface, such as a trackball, scroll wheel, trackpad, keyboard, or the like.
Alternatively, whether the content is entirely viewable on the communication device display or not, the user may navigate through or traverse the content from one focusable element to another, according to the structural information encoded within the content. For example, the user may effectively scroll through content such as a webpage document by jumping from hyperlink to hyperlink or from anchor to anchor within the document. This type of navigation is generally linear in nature; when a user jumps from one focusable element to another, the order of elements is determined by the order of presentation defined by the content's structural information concerning the ordering of the elements rather than by the element's position on the display. As a result, the flow of navigation within the content may not coincide with the user's expectations. When the user initiates a command to shift the focus to the next focusable element, the user may expect the focus to shift to the element that is perceived to be the next logical element, whereas the content encoded structure defines a different element as the next focusable element. The rigid ordering of focusable elements within the content also limits the content developer's ability to control the user's navigation through the content.